﻿using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using DimsMapper.Modules;

namespace DimsMapper.Proto
{
    class Critter : CommonExt
    {
        Prototypes.CritterProtoData data; // содержимое файла прототипа

        //int healthPoint;

        public Critter(DBFile file) { LoadData(file); }

        protected override void LoadData(DBFile file)
        {
            base.LoadData(file);

            //critterData.headFID = DBFile.ReadInt(file);
            //critterData.aIPacket = DBFile.ReadInt(file);
            //critterData.teamNum = DBFile.ReadInt(file);
            //critterData.critterFlags = DBFile.ReadInt(file);

            //critterData.Strength = DBFile.ReadInt(file);
            //critterData.Perception = DBFile.ReadInt(file);
            //critterData.Endurance = DBFile.ReadInt(file);
            //critterData.Charisma = DBFile.ReadInt(file);
            //critterData.Intelligence = DBFile.ReadInt(file);
            //critterData.Agility = DBFile.ReadInt(file);
            //critterData.Luck = DBFile.ReadInt(file);
            //critterData.HP = DBFile.ReadInt(file);
            //critterData.AP = DBFile.ReadInt(file);
            //critterData.AC = DBFile.ReadInt(file);
            //critterData.UnarmedDmg = DBFile.ReadInt(file);
            //critterData.MeleeDmg = DBFile.ReadInt(file);
            //critterData.Weight = DBFile.ReadInt(file);
            //critterData.Sequence = DBFile.ReadInt(file);
            //critterData.Healing = DBFile.ReadInt(file);
            //critterData.Critical = DBFile.ReadInt(file);
            //critterData.Better = DBFile.ReadInt(file);

            //critterData.DTNormal = DBFile.ReadInt(file);
            //critterData.DTLaser = DBFile.ReadInt(file);
            //critterData.DTFire = DBFile.ReadInt(file);
            //critterData.DTPlasma = DBFile.ReadInt(file);
            //critterData.DTEMP = DBFile.ReadInt(file);
            //critterData.DTExplode = DBFile.ReadInt(file);

            //critterData.DRNormal = DBFile.ReadInt(file);
            //critterData.DRLaser = DBFile.ReadInt(file);
            //critterData.DRFire = DBFile.ReadInt(file);
            //critterData.DRPlasma = DBFile.ReadInt(file);
            //critterData.DRElectrical = DBFile.ReadInt(file);
            //critterData.DREMP = DBFile.ReadInt(file);
            //critterData.DRExplode = DBFile.ReadInt(file);
            //critterData.DRRadiation = DBFile.ReadInt(file);
            //critterData.DRPoison = DBFile.ReadInt(file);

            //critterData.Age = DBFile.ReadInt(file);
            //critterData.Gender = DBFile.ReadInt(file);

            //critterData.b_Srength = DBFile.ReadInt(file);
            //critterData.b_Perception = DBFile.ReadInt(file);
            //critterData.b_Endurance = DBFile.ReadInt(file);
            //critterData.b_Charisma = DBFile.ReadInt(file);
            //critterData.b_Intelligence = DBFile.ReadInt(file);
            //critterData.b_Agility = DBFile.ReadInt(file);
            //critterData.b_Luck = DBFile.ReadInt(file);
            //critterData.b_HP = DBFile.ReadInt(file);
            //critterData.b_AP = DBFile.ReadInt(file);
            //critterData.b_AC = DBFile.ReadInt(file);
            //critterData.b_UnarmedDmg = DBFile.ReadInt(file);
            //critterData.b_MeleeDmg = DBFile.ReadInt(file);
            //critterData.b_Weight = DBFile.ReadInt(file);
            //critterData.b_Sequence = DBFile.ReadInt(file);
            //critterData.b_Healing = DBFile.ReadInt(file);
            //critterData.b_Critical = DBFile.ReadInt(file);
            //critterData.b_Better = DBFile.ReadInt(file);

            //critterData.b_DTNormal = DBFile.ReadInt(file);
            //critterData.b_DTLaser = DBFile.ReadInt(file);
            //critterData.b_DTFire = DBFile.ReadInt(file);
            //critterData.b_DTPlasma = DBFile.ReadInt(file);
            //critterData.b_DTEMP = DBFile.ReadInt(file);
            //critterData.b_DTExplode = DBFile.ReadInt(file);

            //critterData.b_DRNormal = DBFile.ReadInt(file);
            //critterData.b_DRLaser = DBFile.ReadInt(file);
            //critterData.b_DRFire = DBFile.ReadInt(file);
            //critterData.b_DRPlasma = DBFile.ReadInt(file);
            //critterData.b_DRElectrical = DBFile.ReadInt(file);
            //critterData.b_DREMP = DBFile.ReadInt(file);
            //critterData.b_DRExplode = DBFile.ReadInt(file);
            //critterData.b_DRRadiation = DBFile.ReadInt(file);
            //critterData.b_DRPoison = DBFile.ReadInt(file);

            //critterData.b_Age = DBFile.ReadInt(file);
            //critterData.b_Gender = DBFile.ReadInt(file);

            //critterData.smallGuns = DBFile.ReadInt(file);
            //critterData.bigGuns = DBFile.ReadInt(file);
            //critterData.energyGun = DBFile.ReadInt(file);
            //critterData.unarmed = DBFile.ReadInt(file);
            //critterData.melee = DBFile.ReadInt(file);
            //critterData.throwing = DBFile.ReadInt(file);
            //critterData.firstAid = DBFile.ReadInt(file);
            //critterData.doctor = DBFile.ReadInt(file);
            //critterData.sneak = DBFile.ReadInt(file);
            //critterData.lockpick = DBFile.ReadInt(file);
            //critterData.steal = DBFile.ReadInt(file);
            //critterData.traps = DBFile.ReadInt(file);
        }

        public int AIPacket { get { return data.AIPacket; } }
        public int TeamNum  { get { return data.TeamNum; } }

        public int HealthPoint
        {
            get { return data.baseStats.HP + data.bonusStats.HP; }
        }

        public int ActionPoint
        {
            get { return data.baseStats.AP + data.bonusStats.AP; }
        }
    }
}
